package com.gt.web.srv.mapper;

import com.gt.web.srv.domain.RepairApplicationImages;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface RepairApplicationImagesMapper {

    /**
     * 插入单张图片
     * @param image 图片实体
     * @return 影响行数
     */
    int insert(RepairApplicationImages image);

    /**
     * 批量插入图片
     * @param images 图片列表
     * @return 影响行数
     */
    int batchInsert(@Param("images") List<RepairApplicationImages> images);

    /**
     * 根据图片ID查询
     * @param repairImageId 图片ID
     * @return 图片实体
     */
    RepairApplicationImages selectById(Long repairImageId);

    /**
     * 根据维修申请ID查询所有图片
     * @param repairId 维修申请ID
     * @return 图片列表
     */
    List<RepairApplicationImages> selectByRepairId(Long repairId);

    /**
     * 根据维修申请ID和图片类型查询
     * @param repairId 维修申请ID
     * @param imageType 图片类型
     * @return 图片列表
     */
    List<RepairApplicationImages> selectByRepairIdAndType(@Param("repairId") Long repairId,
                                                          @Param("imageType") Integer imageType);

    /**
     * 更新图片信息
     * @param image 图片实体
     * @return 影响行数
     */
    int update(RepairApplicationImages image);

    /**
     * 根据图片ID删除
     * @param repairImageId 图片ID
     * @return 影响行数
     */
    int deleteById(Long repairImageId);

    /**
     * 根据维修申请ID删除所有图片
     * @param repairId 维修申请ID
     * @return 影响行数
     */
    int deleteByRepairId(Long repairId);
}